package com.security.gateway.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.oauth2.provider.token.TokenStore;
import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
import org.springframework.security.oauth2.provider.token.store.JwtTokenStore;

/**
 * 单独创建一个类用来配置令牌的存储策略
 *
 * @author wangning
 * @create 2021-03-24 21:28
 */
@Configuration
public class TokenConfig {

	/**
	 * 以下是使用jwt
	 */
	private String SIGNING_KEY = "uaa123";

	@Bean
	public TokenStore tokenStore() {
		//jwt令牌的存储方案
		return new JwtTokenStore(accessTokenConverter());
	}

	@Bean
	public JwtAccessTokenConverter accessTokenConverter() {
		JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
		converter.setSigningKey(SIGNING_KEY);
		//对称秘钥，资源服务器使用该秘钥来验证
		return converter;
	}

}
